package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixing.mall.provider.model.domain.Order;
import com.weixing.mall.provider.model.vo.report.advertisement.*;

/**
 * @author jzy
 * @date 2020/6/6
 */
public interface IDayReportAdvertisementService  extends IService<Order> {
    /**
     * 广告部报表--1广告
     * @param chatNum 平台号
     * @param startTime 开始时间（投放）
     * @param endTime 结束时间（投放）
     * @param page 分页
     * @return IPage
     */
    IPage<AdvertisementDetailVo> advertisementPage(String chatNum, String startTime, String endTime, Page page);

    /**
     *广告部报表--3广告服务数据"
     * @param wechatNum 微信号
     * @param chatNum 平台号
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param page 分页
     * @return IPage
     */
    IPage<AdvertisementServiceDataVo> advertisementServiceData(String agentName,Long directorId,String wechatNum, String chatNum, String startTime, String endTime, Page page);

    /**
     * 广告部报表--4广告投放报表
     * @param directorName 广告员名称
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param page 分页
     * @return IPage
     */
    IPage<AdvertisementLaunchReportVo> advertisementLaunchReport(String directorName, String startTime, String endTime, Page page);


    /**
     * 广告部报表--5广告员性价比
     * @param directorName 广告员名称
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param page 分页
     * @return IPage
     */
    IPage<AdvertisementDirectorPerformanceVo> advertisementDirectorPerformance(String directorName, String startTime, String endTime, Page page);

    /**
     * 广告部报表--6平台性价比
     * @param platform 平台
     * @param pageSite 版面位置
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param page 分页
     * @return IPage
     */
    IPage<AdvertisementPlatformPerformanceVo> advertisementPlatformPerformance(String yearMonth,String platformName,Long platform, Integer pageSite, String startTime, String endTime, Page page);
    /**
     * 广告部报表--6平台性价比月报
     * @param platform 平台
     * @param pageSite 版面位置
     * @param yearMonth 开始时间
     * @param page 分页
     * @return IPage
     */
    IPage<AdvertisementPlatformPerformanceVo> advertisementPlatformPerformanceMonth(Long platform, Integer pageSite, String yearMonth, Page page);
}
